The present invention broadly relates to the field of cluster configuration for high availability computing and more particularly the present invention relates to the field high availability policy creation for cluster management.
Computing clusters have become common in the field of high-availability and high-performance computing. Cluster-based systems exhibit three important and fundamental characteristics or properties: reliability, availability and serviceability. Each of these features is of paramount importance when designing a robust clustered system. Generally, a clustered system consists of multiple servers or server instances grouped together in a server farm of one or more server computing nodes that are connected over high-speed network communicative linkages. Each server process in the cluster can enjoy access to memory, possibly disk space and the facilities of a host operating system.
When building a highly available application, systems administrators are faced with the challenge of understanding all infrastructure components supporting the operation of the application. Those components include the servers, storage and middleware of the cluster and their operational dependencies. To achieve a highly available environment, it is required to configure a redundant system, and to observe and maintain highly available services supporting the system. This remains true not only for the initial configuration of the cluster, but also for subsequent changes to the configuration of the cluster. Thus, ably configuring a cluster to support the operation of a highly available application requires having a deep knowledge on the part of the administrator both of the use of high availability tools, most notably cluster managers, and also the configuration of the cluster managers to enable cost efficient and valuable high availability configurations.
Generally, cluster managers are configured through high availability policies, as it is well-known in the art, which policies include the definition of resource groups, start/stop sequences, backup alternatives and placement rules. A resource group lists all the resources necessary to render an application or component highly available such that the application can be properly restarted/moved to another host environment in case of failure.
The specification of a high availability policy for a highly available application solution, however, requires tedious manual intervention by those trained with the necessary knowledge of the operation and configuration of the cluster manager as well as deep knowledge of the components and sub components and dependencies of the application that are to be rendered highly available. Some attempts at automating the process of creating a high availability policy are evident in the art, for instance, within U.S. Pat. No. 6,038,677 to Lawlor et al. for AUTOMATIC RESOURCE GROUP FORMATION AND MAINTENANCE IN A HIGH AVAILABILITY CLUSTER CONFIGURATION in which an administrator identifies a set of resources that must be collocated with a given application for failover purposes and based on that definition, one or more resource groups are automatically generated.